perm filename LOSS.1[TIM,LSP]10 blob
sn#715171 filedate 1983-06-17 generic text, type C, neo UTF8
COMMENT ā VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 (declare
C00006 00003 (baz 50)
C00007 00004
C00008 00005
C00024 ENDMK
Cā;
(declare
(fasload meter fas))
(declare
(setq meter:count-only t))
;(meter:meter baz
; (meter-funs ((+ "+'s")(= "='s"))
; (defun baz (n)
; (do ((n n (1- n))
; (a 0))
; ((= n 0) a)
; (foo n)
; (setq a (+ a n)))) )
; (meter-funs ((+ "+'s")(= "='s"))
; (defun foo (n)
; (do ((n n (1- n))
; (a 0))
; ((= n 0) a)
; (setq a (+ a n))))))
(meter:meter baz
(meter-funs ((+ "+'s")(= "='s")(foo "Calls to FOO"))
(defun baz (n)
(mn "baz" baz)
(do ((n n (1- n))
(a 0))
((= n 0) a)
(foo n)
(setq a (+ a n)))))
(meter-funs ((+ "+'s")(= "='s"))
(defun foo (n)
(mn "Foo" foo)
(do ((n n (1- n))
(a 0))
((= n 0) a)
(setq a (+ a n))))))
(meter:meter baz
(meter-funs ((cdr "cdr")(car "car")
(foo "Foo")(setq "Setq")
(cdar "car"car)(ztesch "Ztesch")
(cdar "cdr" cdr))
(defun baz (l)
(setq l (ztesch l))
(foo (car l)
(cdr l)
(cdar l)))))
;(baz 50)
;(meter:report-baz)
;Statistics
;= <calls> (<percentage>) [runtime (<percentage>)]
;
;Meter for: BAZ
;='s = 51 (33.77%) [0.0 (0.0%)]
;Calls to FOO = 50 (33.11%) [0.06 (100.0%)]
;+'s = 50 (33.11%) [0.0 (0.0%)]
;Total = 151 0.06
;
;Meter for: FOO
;='s = 1325 (50.96%) [0.02 (64.52%)]
;+'s = 1275 (49.04%) [0.011 (35.48%)]
;Total = 2600 0.031
;T
;(baz 50)
;(meter:report-baz)
;Statistics
= <calls> (<percentage>)
;
;Meter for: BAZ
;='s = 51 (33.77%)
;Calls to FOO = 50 (33.11%)
;+'s = 50 (33.11%)
;Total = 151
;
;Meter for: FOO
;='s = 1325 (50.96%)
;+'s = 1275 (49.04%)
;Total = 2600
Meter for: MATCH
Cars = 1319800 (34.63%) [10.632 (19.37%)]
Eqs = 755700 (19.83%) [6.953 (12.67%)]
Nulls = 504100 (13.23%) [4.369 (7.96%)]
Cdrs = 483400 (12.68%) [3.852 (7.02%)]
Conses = 239200 (6.28%) [21.24 (38.69%)]
Char1 = 226800 (5.95%) [6.777 (12.35%)]
MATCH = 213600 (5.6%)
Nconcs = 69000 (1.81%) [1.071 (1.95%)]
Returns = 0 (0.0%) [0.0 (0.0%)]
Total = 3811600 [54.894]
(meter:meter puzzle
(meter-funs #.(all-objs)
(defun fit (i j) (store (puzzle (+ i j)) (p (+ i j)(* i j))))))))
(untrace %match)
(grindef remove)
(DEFUN REMOVE (I J)
(METER:INC METER:PUZZLE-COUNT-ARRAY 12 1)
(LET ((END (PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 1 1)
(PIECEMAX I))))
(DO ((K 0
(PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 2 1)
(1+ K))))
((PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 3 1)
(> K END)))
(COND
((PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 4 1) (P I K))
((LAMBDA (G0069)
(PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 7 1)
(STORE (PUZZLE G0069) NIL)))
(+ J K)))))
((LAMBDA (G0070)
(PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 8 1)
(STORE (PIECECOUNT (CLASS I)) G0070)))
(+ ((LAMBDA (G0071)
(PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 9 1)
(PIECECOUNT G0071)))
(PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 10 1)
(PROGN (METER:INC METER:PUZZLE-COUNT-ARRAY 10 1)
(CLASS I))))
1))))
*